From: Florian Müllner Date: Wed, 22 Mar 2017 00:26:08 +0000 (+0100) Subject: st: Add missing %NULL check X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~393 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b477d215a8119f47dc635498a896701c6a4fd7e7;p=gnome-shell.git st: Add missing %NULL check st_theme_node_get_border_image() may return %NULL, leading to a segfault in st_border_image_get_file() when glib is compiled with G_DISABLE_CHECKS. https://bugzilla.gnome.org/show_bug.cgi?id=780381 --- diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 002249d25..db984ac9b 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -290,6 +290,7 @@ st_widget_texture_cache_changed (StTextureCache *cache, StWidget *actor = ST_WIDGET (user_data); StWidgetPrivate *priv = st_widget_get_instance_private (actor); StThemeNode *node = priv->theme_node; + StBorderImage *border_image; gboolean changed = FALSE; GFile *theme_file; @@ -303,7 +304,8 @@ st_widget_texture_cache_changed (StTextureCache *cache, changed = TRUE; } - theme_file = st_border_image_get_file (st_theme_node_get_border_image (node)); + border_image = st_theme_node_get_border_image (node); + theme_file = border_image ? st_border_image_get_file (border_image) : NULL; if ((theme_file != NULL) && g_file_equal (theme_file, file)) { st_theme_node_invalidate_border_image (node);